package com.feihong.txgw.inter.contract.login;

import com.feihong.txgw.ui.mvp.model.IBaseModel;
import com.feihong.txgw.ui.mvp.precenter.AbBasePrecenter;
import com.feihong.txgw.ui.mvp.view.IBaseActivity;

import io.reactivex.Observable;


/**
 * @Author wangziheng
 * @ProjectName txgw_app
 * @ClassName ILoginContract
 * @package com.feihong.txgw.inter.contract.login
 * @data 2018/5/7 18:29
 * @Describe
 * @Change
 */
public interface ILoginContract {

    interface ILoginMainView extends IBaseActivity{

        void getTelCodeResult(String result);

        void getTelCodeError();

        void userLoginResult(String result);

        void usrLoginError();

    }

    interface ILoginMainModel extends IBaseModel{

        Observable<String> getDeliverAdr();

        Observable<String> userLogin(String telNum,String code);

        Observable<String> getTelCode(String telNum,String type);
    }

    abstract class AbLoginMainPrecenter extends AbBasePrecenter<ILoginMainModel,ILoginMainView>{

        public abstract void getDeliverAdr();

        public abstract void getTelCode(String telNum,String type);

        public abstract void userLogin(String telNum,String code);
    }
}
